Computer networks allow communication between nodes of the network, such as a direct path between two nodes (e.g., point-to-point, P2P) or a tree-like path (“tree”) between one node and multiple nodes (e.g., point-to-multipoint, P2 MP, or multipoint-to-point, MP2P). For example, “leaves” of the tree (e.g., end users) may be configured to receive transmitted signals from a single source, such as a television station transmitting broadcast data streams to receivers diversely located throughout the network (e.g., millions of leaves) in a P2 MP manner. Generally, networks are well suited for P2 MP traffic, due to the fact that the traffic may be “multicast”, where each single packet of the traffic sent from the source is duplicated at diverge points of the P2 MP tree. Accordingly, each branch of the P2 MP tree usually only carries one instance of the single packet on its way to the millions of leaves/end users; that is, millions of branches each carry a single duplicated copy of the packet to the millions of end users.
Conversely, more and more applications are beginning to create MP2P situations that are far reaching throughout the network. For example, television broadcasting may include Internet Protocol (IP)-based traffic (e.g., feedback) sent from the end users to the television broadcasting station. For instance, various games, online quizzes, voting, etc., may request or result in a quick response from end users from across a country or the entire world. Often, these responses come in traffic “bursts” in the network, where very large amounts of traffic (e.g., particularly in terms of number of packets) are sent during a substantially narrow time frame. (Similarly, disaster situations may also result in such bursts of traffic, although generally on a smaller, more centralized scale, e.g., close to the disaster area, as will be understood by those skilled in the art.)
Contrary to the traffic duplication described above for P2 MP, however, the MP2P traffic generally comprises distinct packets from individual sources. In this manner, the branches close to the destination of the MP2P tree structure are required to carry all the packets sent from all of the end stations (e.g., millions), as opposed to the single duplicated packet as in P2 MP transmission. In such large scale MP2P network configurations, e.g., millions of leaves transmitting data to a single destination, buffers operating at nodes along the MP2P tree may become significantly overrun (exceeded), particularly as the “merging” traffic gets closer to the single destination. Accordingly, the occurrence of traffic bursts in MP2P networks places a substantial strain/burden on the network infrastructure.
Various solutions that have been proposed to address this problem have primarily focused on application layer response. For instance, in the event of a burst in response to a particular broadcasted data stream, an application server (e.g., at the broadcast station) may re-broadcast the data stream with embedded information that instructs the receiving end stations to apply a delay prior to responding to the data stream (for example, through configuration of a Broadband Markup Language, “BML”, as will be understood by those skilled in the art). One problem associated with such an application layer response, however, is that the re-broadcast of the traffic occurs after the burst has already happened, and is thus a correction to the burst, not a prevention.